package ru.rchervot.sanasar.client.model;

import java.util.ArrayList;



public interface ResultsPage<T extends SearchResultsItem> {
	public boolean isEmpty();
	public boolean hasNext();
	public boolean hasPrevious();
	
	public boolean isCurrentOffsetLast();
	public boolean isCurrentOffsetFirst();
	
	public boolean isCurrentRowLast();
	public boolean isCurrentRowFirst();
	
	public void increaseOffset();
	public void decreaseOffset();
	
	public int getQueryID();
	
	public int getPageSize();
	public int getResultsSize();
	
	public int getPageCurrentOffset();
	public int getPageCurrentOffsetEnd();
	public int getPageFirstOffset();
	public int getPagePrevOffset();
	public int getPageNextOffset();
	public int getPageLastOffset();
	
	public int getOffset();
	public int getOffsetForHumans();
	public void setOffset(int offset);
	
	public ArrayList<T> getItems();
	public void setItems(ArrayList<T> items);
	
	public T getCurrentItem();
	public T getItem(int row);
	
	public boolean isContainOffset(int offset);
	public int getCurrentRow();
	
}
